package ga;

import instrumentation.Condition;

import java.util.Map;

import readWriteFieldsRelations.MethodDependences;

import model.TestClusterBuilder;

public class GAInfo {

	private Individual[] 				population;
	private TestClusterBuilder 			TestCluster;
	private int       					generation;
	private float        				populationFitness;
	private long 						testTimeout;
	private long 						startTime;
	private int 						attempt=1;
	private Map<Integer, Condition> 	mapBranchCondition;
	private int 						noExecution=0;
	private MethodDependences 			recommender;
	private int 						noImprovementCount=0;

	public void setMethodRelations(MethodDependences recommender){
		this.recommender=recommender;
	}
	public MethodDependences getMethodRelations(){
		return this.recommender;
	}

	
	public Individual[] getPopulation() {
		return population;
	}
	public void setPopulation(Individual[] population) {
		this.population = population;
	}
	
	public TestClusterBuilder getTestCluster() {
		return TestCluster;
	}
	public void setTestCluster(TestClusterBuilder TestCluster) {
		this.TestCluster = TestCluster;
	}
	public int getGeneration() {
		return generation;
	}
	public void setGeneration(int generation) {
		this.generation = generation;
	}
	public float getPopulationFitness() {
		return populationFitness;
	}
	public void setPopulationFitness(float populationFitness) {
		this.populationFitness = populationFitness;
	}
	public long getStartTime() {
		return startTime;
	}
	public void setStartTime(long startTime) {
		this.startTime = startTime;
	}

	public long getTestTimeOut() {
		return testTimeout;
	}
	public void setTestTimeOut(long testTimeout) {
		this.testTimeout = testTimeout;
	}
	public int getAttempt() {
		return attempt;
	}
	public void setAttempt(int attempt) {
		this.attempt = attempt;
	}
	public Map<Integer, Condition> getMapBranchCondition() {
		return mapBranchCondition;
	}
	public void setMapBranchCondition(Map<Integer, Condition> 	mapBranchCondition) {
		this.mapBranchCondition = mapBranchCondition;
	}
	public int getNoExecution() {
		return noExecution;
	}
	public void setNoExecution(int noExecution) {
		this.noExecution = noExecution;
	}
	public int getNoImprovementCount() {
		return noImprovementCount;
	}
	void setNoImprovementCount(int noImprovementCount) {
		this.noImprovementCount = noImprovementCount;
	}

}
